<!DOCTYPE html>
<html class="client-nojs skin-theme-clientpref-os citizen-feature-autohide-navigation-clientpref-1 citizen-feature-image-dimming-clientpref-0 citizen-feature-pure-black-clientpref-0 citizen-feature-custom-font-size-clientpref-standard citizen-feature-custom-width-clientpref-standard citizen-feature-performance-mode-clientpref-1 citizen-header-position-left citizen-header-position-mobile-bottom" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Interface</title>
<script id="mwoffliner-jsConfigVars">
document.documentElement.classList.replace('client-nojs', 'client-js')
RLCONF = {"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Interface","wgTitle":"Interface","wgCurRevisionId":3395,"wgRevisionId":0,"wgArticleId":17,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Concepts"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Interface","wgRelevantArticleId":17,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"all","wgConfirmEditCaptchaNeededForGenericEdit":false,"wgMFDisplayWikibaseDescriptions":{"search":false,"nearby":false,"watchlist":false,"tagline":false},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"zimRelativeFilePath":"./"}
RLSTATE = {"user.options":"loading","site.styles":"ready","noscript":"ready","skins.citizen.styles":"ready","skins.citizen.codex.styles":"ready","skins.citizen.icons":"ready","ext.PortableInfobox.styles":"ready","ext.cite.styles":"ready","jquery.makeCollapsible.styles":"ready"}
RLPAGEMODULES = ["jquery","mediawiki.base","mediawiki.page.ready","ext.cite.ux-enhancements","jquery.makeCollapsible"]
;(RLQ = window.RLQ || []).push(function () {
mw.config.set(RLCONF)
mw.loader.state(RLSTATE)
mw.loader.load(RLPAGEMODULES)
;(mw.loader.impl || mw.loader.implement)(function () {
return [
'user.options@12s5i',
function ($, jQuery, require, module) {
mw.user.tokens.set({ patrolToken: '+\\', watchToken: '+\\', csrfToken: '+\\' })
},
]
})
})
</script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://reticulum.miraheze.org/wiki/Interface"> <link href="./_mw_/ext.PortableInfobox.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/jquery.makeCollapsible.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.citizen.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.citizen.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.citizen.styles.css" rel="stylesheet" type="text/css"> <script async="" src="./_mw_/startup.js"></script>
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<noscript><link href="./_mw_/noscript.css" rel="stylesheet" type="text/css"/></noscript>
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<script src="./_res_/script.js"></script>
</head>
<body class="mwoffliner-fallback mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Interface rootpage-Interface skin-citizen action-view skin--responsive">
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Interface</span></h1>
<div id="bodyContent">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><dl><dd>Manual: <span class="manual-link" title="Manual:Interfaces"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#configuring-interfaces">Interfaces</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/interfaces.md|anchor=configuring-interfaces Interfaces]</span></span></span></dd></dl>
<p class="mw-empty-elt"></p><aside class="portable-infobox noexcerpt searchaux pi-background pi-theme-default pi-layout-default"><h2 class="pi-item pi-item-spacing pi-title" data-source="title">Interface</h2><div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="source">
<h3 class="pi-data-label pi-secondary-font">Source</h3>
<div class="pi-data-value pi-font"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://github.com/markqvist/reticulum/blob/HEAD/RNS/Interface.py">Interface.py</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=RNS/Interface.py Interface.py]</span></span></div>
</div></aside>
<p class="mw-empty-elt"></p><p>An <b>interface</b> is how a Reticulum <a href="Instance" title="Instance">instance</a> communicates with the outside world.
</p><p>The interface system is medium-<a href="https://en.wikipedia.org/wiki/Agnostic_(data)" class="extiw external" title="wikipedia:Agnostic (data)">agnostic</a>, so an instance can use a mix of local communication <a href="Hardware" title="Hardware">hardware</a>, remote public endpoints and virtual interfaces. See the <a class="mw-selflink-fragment" href="#Types">list of interface types</a> below.
</p>
<div class="mw-heading mw-heading2"><h2 id="Configuration">Configuration</h2></div>
<p>In <a href="RNS" title="RNS">RNS</a>, interfaces are specified in the <a href="RNS#Configuration" title="RNS">configuration</a> file under <code>[interfaces]</code>. See <span class="manual-link" title="Manual:Common Interface Options"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#common-interface-options">Common Interface Options</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/interfaces.md|anchor=common-interface-options Common Interface Options]</span></span></span> in the manual for more.
</p>
<div class="mw-heading mw-heading2"><h2 id="Getting_started">Getting started</h2></div>
<p>To connect to the global Reticulum <a href="https://en.wikipedia.org/wiki/Backbone_network" class="extiw external" title="wikipedia:Backbone network">backbone</a>, simply add one or more public endpoints from <a rel="nofollow" class="external text" href="https://directory.rns.recipes/">directory.rns.recipes</a> or <a rel="nofollow" class="external text" href="https://rmap.world/">rmap.world</a>.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>Rather than relying on static connections, consider using public endpoints as temporary <a class="mw-selflink-fragment" href="#Bootstrap">bootstrap connections</a> that dynamically discover and <a class="mw-selflink-fragment" href="#Auto-connect">auto-connect</a> to more suitable ones. This results in a <a href="https://en.wikipedia.org/wiki/Network_topology" class="extiw external" title="wikipedia:Network topology">network topology</a> that is more geographically relevant, resilient and efficient. This is the way.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p><i><b>Note:</b> Reticulum is not a single global network you “join”. It's a toolkit for building all sorts of networks, small or large. How you choose to connect to other peers is up to you.</i><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Recommended_reading">Recommended reading</h3></div>
<ul><li><span class="manual-link" title="Manual:Creating a Network With Reticulum"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/gettingstartedfast.html#creating-a-network-with-reticulum">Creating a Network With Reticulum</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/gettingstartedfast.md|anchor=creating-a-network-with-reticulum Creating a Network With Reticulum]</span></span></span></li>
<li><span class="manual-link" title="Manual:Bootstrapping Connectivity"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity">Bootstrapping Connectivity</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/gettingstartedfast.md|anchor=bootstrapping-connectivity Bootstrapping Connectivity]</span></span></span></li>
<li><span class="manual-link" title="Manual:Connecting Reticulum Instances Over the Internet"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/gettingstartedfast.html#connecting-reticulum-instances-over-the-internet">Connecting Reticulum Instances Over the Internet</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/gettingstartedfast.md|anchor=connecting-reticulum-instances-over-the-internet Connecting Reticulum Instances Over the Internet]</span></span></span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Modes">Modes</h2></div>
<p>Interface modes let you control how <a class="mw-selflink-fragment" href="#Announce_propagation">announces propagate</a> and how <a class="mw-selflink-fragment" href="#Path_seeking">paths are discovered</a>, indirectly affecting how <a href="Transport_node" title="Transport node">transport nodes</a> route traffic. Properly configured interfaces can adapt network usage to different scenarios, such as fast backbone links, slow radio segments, or mobile connections.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Comparison">Comparison</h3></div>
<table class="wikitable">
<tbody><tr>
<th>Name
</th>
<th>Path expiration
</th>
<th>Path seeking
</th>
<th>Propagates announces to
</th></tr>
<tr>
<td><code>full</code>
</td>
<td>7 days
</td>
<td>❌
</td>
<td><code>full</code> <code>boundary</code> <code>roaming</code> <code>gateway</code> <code>internal</code>
</td></tr>
<tr>
<td><code>gateway</code>/<code>gw</code>
</td>
<td>7 days
</td>
<td>✅
</td>
<td><code>full</code> <code>boundary</code> <code>roaming</code> <code>gateway</code> <code>internal</code>
</td></tr>
<tr>
<td><code>access_point</code>/<code>ap</code>
</td>
<td>1 day
</td>
<td>✅
</td>
<td><code>full</code> <code>boundary</code> <code>roaming</code> <code>gateway</code> <code>internal</code>
</td></tr>
<tr>
<td><code>boundary</code>
</td>
<td>7 days
</td>
<td>❌
</td>
<td><code>full</code> <code>boundary</code> <code>gateway</code>
</td></tr>
<tr>
<td><code>internal</code>
</td>
<td>7 days
</td>
<td>✅
</td>
<td><code>full</code> <code>boundary</code> <code>gateway</code> <code>internal</code>
</td></tr>
<tr>
<td><code>roaming</code>
</td>
<td>¼ day
</td>
<td>✅
</td>
<td><code>full</code> <code>gateway</code> <code>internal</code>
</td></tr></tbody></table>
<div class="mw-heading mw-heading4"><h4 id="full"><code>full</code></h4></div>
<p>The default mode. Lack of path seeking means it can only answer network queries for announces it has seen directly.
</p><p>Unless running as a <a href="Transport_node" title="Transport node">transport node</a>, it is generally best to use <code>full</code>.
</p>
<div class="mw-heading mw-heading4"><h4 id="gateway"><code>gateway</code></h4></div>
<p>Basically <code>full</code> + path seeking on behalf of its clients.
</p><p>If an interface is <a class="mw-selflink-fragment" href="#Discoverable">discoverable</a>, <a href="RNS" title="RNS">RNS</a> will automatically force the mode <code>gateway</code> (or <code>access_point</code> for <a href="RNode" title="RNode">RNodes</a>).
</p><p><i><b>Tip:</b> If you want to allow other <a href="Peer" class="mw-redirect" title="Peer">peers</a> to widely resolve paths or connect to a wider network through an interface, put it in <code>gateway</code> mode. By creating a chain of <code>gateway</code> interfaces, peers can immediately resolve paths to any destination along the chain.</i>
</p>
<div class="mw-heading mw-heading4"><h4 id="access_point"><code>access_point</code></h4></div>
<p>Silent until <a href="Path#Request" title="Path">requested</a>; ideal for radio connections. Announces will never propagate over <code>access_point</code> interfaces, but path seeking allows it to resolve paths on behalf of its clients. Lower expiration time ensures fewer stale paths.
</p><p>If an <a href="RNode" title="RNode">RNode</a> interface is <a class="mw-selflink-fragment" href="#Discoverable">discoverable</a>, <a href="RNS" title="RNS">RNS</a> will automatically force the mode <code>access_point</code>.
</p>
<div class="mw-heading mw-heading4"><h4 id="boundary"><code>boundary</code></h4></div>
<p>Marks an edge to a network segment that is significantly different from the current one.
</p><p>For example, if the instance is part of a low-bandwidth <a href="https://en.wikipedia.org/wiki/LoRa" class="extiw external" title="wikipedia:LoRa">LoRa</a> segment but also has a high-bandwidth Internet connection over a <code>BackboneInterface</code>, then <i>that</i> interface should be set to <code>boundary</code>.
</p>
<div class="mw-heading mw-heading4"><h4 id="internal"><code>internal</code></h4></div>
<p>Protected inner segment. Announces from <code>boundary</code> interfaces will not propagate over <code>internal</code> interfaces. Path seeking still allows its clients to resolve paths across any <code>boundary</code> interfaces on the instance.
</p>
<div class="mw-heading mw-heading4"><h4 id="roaming"><code>roaming</code></h4></div>
<p>Mobile interfaces. Low expiration time reduces the need to test paths that may no longer be valid due to movement. Announces are only broadcast to <code>full</code>, <code>gateway</code> and <code>internal</code> interfaces, keeping downstream connections clean from transient paths.
</p>
<div class="mw-heading mw-heading3"><h3 id="Announce_propagation">Announce propagation</h3></div>
<p><a href="Announce" title="Announce">Announces</a> propagate across a node's interfaces depending on their modes, according to the following rules:<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<table class="wikitable">
<tbody><tr>
<th><div style="float: left;">From ↓</div><div style="float:right;">To →</div>
</th>
<th><code>full</code>
</th>
<th><code>access_point</code>
</th>
<th><code>boundary</code>
</th>
<th><code>roaming</code>
</th>
<th><code>gateway</code>
</th>
<td><code><b>internal</b></code>
</td></tr>
<tr>
<td><b><code>full</code></b>
</td>
<td>✅
</td>
<td>❌
</td>
<td>✅
</td>
<td>✅
</td>
<td>✅
</td>
<td>✅
</td></tr>
<tr>
<td><b><code>gateway</code></b>
</td>
<td>✅
</td>
<td>❌
</td>
<td>✅
</td>
<td>✅
</td>
<td>✅
</td>
<td>✅
</td></tr>
<tr>
<td><b><code>access_point</code></b>
</td>
<td>✅
</td>
<td>❌
</td>
<td>✅
</td>
<td>✅
</td>
<td>✅
</td>
<td>✅
</td></tr>
<tr>
<td><b><code>boundary</code></b>
</td>
<td>✅
</td>
<td>❌
</td>
<td>✅
</td>
<td>❌
</td>
<td>✅
</td>
<td>❌
</td></tr>
<tr>
<td><code><b>internal</b></code>
</td>
<td>✅
</td>
<td>❌
</td>
<td>✅
</td>
<td>❌
</td>
<td>✅
</td>
<td>✅
</td></tr>
<tr>
<td><b><code>roaming</code></b>
</td>
<td>✅
</td>
<td>❌
</td>
<td>❌
</td>
<td>❌
</td>
<td>✅
</td>
<td>✅
</td></tr></tbody></table>
<p><small>✅ Will rebroadcast announce.<br>
❌ Will not rebroadcast announce.</small>
</p><p>The tools <a rel="nofollow" class="external text" href="https://rns.moscow/announce-sim.html">Reticulum Announce Propagation Simulator</a> and <a rel="nofollow" class="external text" href="https://github.com/RFnexus/reticulated">Reticulated</a> may be used to visualize how announces propagate.
</p><p>In <a href="RNS" title="RNS">RNS</a>, you can disable announce propagation from <code>internal</code> interfaces to a specific interface by setting <code>announces_from_internal = false</code> on that interface. Paths to destinations on <code>internal</code> interfaces may still be resolved via the interface if it provides <a class="mw-selflink-fragment" href="#Path_seeking">path seeking</a>.
</p><p>Setting <code>announces_to_internal = true</code> on a <code>boundary</code> interface will allow announce propagation from that interface to any <code>internal</code> interfaces. Likewise, <code>autoconnect_announces_to_internal = true</code> does the same for <a class="mw-selflink-fragment" href="#Auto-connect">auto-connected</a> interfaces if <code>autoconnect_interface_mode = boundary</code>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Path_seeking">Path seeking</h3></div>
<dl><dd><span class="boilerplate seealso"><i>See also: <a href="Path#Request" title="Path">Path#Request</a></i></span></dd></dl>
<p>Any <a href="Node" title="Node">node</a> that has no path to a <a href="Destination" title="Destination">destination</a> can send out a path request on the network. An interface that supports <b>path seeking</b> will attempt to recursively resolve <a href="Path#Request" title="Path">path requests</a> it receives. See the <a class="mw-selflink-fragment" href="#Comparison">comparison</a> table above for which interface modes support path seeking by default.
</p><p>In <a href="RNS" title="RNS">RNS</a>, it is possible to force path seeking on individual <code>boundary</code> and <code>full</code> interfaces by setting <code>recursive_prs = true</code>.
</p><p><i><b>Note:</b> In the manual and code, this is sometimes called "path discovery". On this wiki, the term "path seeking" is used to avoid confusion with <a href="Discovery" title="Discovery">interface discovery</a>.</i>
</p>
<div class="mw-heading mw-heading2"><h2 id="Discoverable">Discoverable</h2></div>
<dl><dd><span class="boilerplate seealso"><i>See also: <a href="Discovery" title="Discovery">Discovery</a></i></span></dd></dl>
<p>By making an interface <b>discoverable</b>, other <a href="Peer" class="mw-redirect" title="Peer">peers</a> can <a href="Discovery" title="Discovery">discover</a>, verify, and <a href="Discovery#Auto-connect" title="Discovery">auto-connect</a> to it. Discoverable interfaces periodically broadcast <a href="Announce" title="Announce">announce</a> packets with connection details, which are propagated over the network. The announce can be encrypted with a <a href="Network_identity" title="Network identity">network identity</a>, ensuring the interface is only discoverable on trusted networks. It can also include the interface's <a class="mw-selflink-fragment" href="#IFAC">IFAC</a>.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p><p>In <a href="RNS" title="RNS">RNS</a>, to make an interface discoverable, set <code>discoverable = true</code> in its definition. For more, see <span class="manual-link" title="Manual:Discovery Parameters"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#discovery-parameters">Discovery Parameters</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/interfaces.md|anchor=discovery-parameters Discovery Parameters]</span></span></span> in the manual.
</p><p><i><b>Note:</b> A discoverable interface announces its presence, capabilities and (if configured) location to the network. This may have <a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#security-considerations">security implications</a>.</i>
</p>
<div class="mw-heading mw-heading2"><h2 id="Auto-connect">Auto-connect</h2></div>
<dl><dd><span class="boilerplate seealso"><i>See also: <a href="Discovery#Auto-connect" title="Discovery">Discovery#Auto-connect</a></i></span></dd></dl>
<p>Reticulum can <b>auto-connect</b> to discovered interfaces, automatically bringing interfaces up and down based on their availability.
</p><p>In <a href="RNS" title="RNS">RNS</a>, enable interface discovery with <code>discover_interfaces = true</code> and set <code>autoconnect_discovered_interfaces</code> to a number greater than <code>0</code>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Bootstrap">Bootstrap</h3></div>
<dl><dd><span class="boilerplate seealso"><i>See also: <a href="Discovery#Bootstrapping" title="Discovery">Discovery#Bootstrapping</a></i></span></dd></dl>
<p>Interfaces can be configured as temporary <b>bootstrap</b> connections, discovering and auto-connecting to more suitable connections before disconnecting themselves.
</p><p>In <a href="RNS" title="RNS">RNS</a>, to use an interface for bootstrapping, set <code>bootstrap_only = true</code> in its definition. It relies on interface discovery and auto-connection, so make sure these features are also enabled in the <a href="RNS#Configuration" title="RNS">configuration</a> (see <a class="mw-selflink-fragment" href="#Auto-connect">above</a>).
</p>
<div class="mw-heading mw-heading2"><h2 id="IFAC">IFAC</h2></div>
<dl><dd><span class="boilerplate seealso"><i>See also: <a href="Interface_Access_Code" title="Interface Access Code">Interface Access Code</a></i></span></dd></dl>
<p>Interfaces can be configured with an <b>IFAC</b> to control who can communicate directly with the interface.
</p><p>In <a href="RNS" title="RNS">RNS</a>, to enable IFAC on an interface, simply specify a <code>network_name</code> and/or a <code>passphrase</code> in its definition.
</p>
<div class="mw-heading mw-heading2"><h2 id="Gravity">Gravity</h2></div>
<p>In <a href="RNS" title="RNS">RNS</a>, interfaces may be given a <b>gravity</b>. If multiple interfaces receive the same <a href="Announce" title="Announce">announce</a>, the interface with the highest <code>gravity</code> wins the <a href="Path" title="Path">path</a> table entry. This is especially useful for <a href="Transport_node" title="Transport node">transport nodes</a> with public endpoints where users continually connect and disconnect, resulting in stale paths.
</p><p>The default gravity is <code>0</code> by default, or a number defined by <code>default_gravity</code> (and <code>autoconnect_interface_gravity</code> for when <a class="mw-selflink-fragment" href="#Auto-connect">auto-connecting</a>).<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Types">Types</h2></div>
<p><a href="RNS" title="RNS">RNS</a> has a wide range of built-in interface types:
</p>
<ul><li><code><a href="AutoInterface" title="AutoInterface">AutoInterface</a></code> – IPv6 <a href="https://en.wikipedia.org/wiki/Multicast" class="extiw external" title="wikipedia:Multicast">multicast</a>-based peer discovery (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#auto-interface">docs</a>).</li>
<li><code>BackboneInterface</code> – High-performance, resource-efficient interface for Linux/Android (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#backbone-interface">docs</a>).</li>
<li><code>TCPServerInterface</code> – Allows <code>TCPClientInterface</code>s to connect over the Internet or private IPv4/IPv6 networks (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#tcp-server-interface">docs</a>).</li>
<li><code>TCPClientInterface</code> – Connects to a remote <code>TCPServerInterface</code> over the Internet or private IPv4/IPv6 networks (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#tcp-client-interface">docs</a>).</li>
<li><code>UDPInterface</code> – Provides <a href="https://en.wikipedia.org/wiki/UDP" class="extiw external" title="wikipedia:UDP">UDP</a>-based communication (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#udp-interface">docs</a>).</li>
<li><code>I2PInterface</code> – Routes data through the <a href="https://en.wikipedia.org/wiki/I2P" class="extiw external" title="wikipedia:I2P">I2P</a> network for anonymous communication (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#i2p-interface">docs</a>).</li>
<li><code>RNodeInterface</code> – Interfaces with an <a href="RNode" title="RNode">RNode</a> for digital radio communication (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#rnode-lora-interface">docs</a>).</li>
<li><code>RNodeMultiInterface</code> – For RNodes with multiple <a href="https://en.wikipedia.org/wiki/LoRa" class="extiw external" title="wikipedia:LoRa">LoRa</a> transceivers, allows sub-interfaces to be configured individually (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#rnode-multi-interface">docs</a>).</li>
<li><code>SerialInterface</code> – Enables communication over <a href="https://en.wikipedia.org/wiki/Serial_communication" class="extiw external" title="wikipedia:Serial communication">serial</a> lines and devices (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#serial-interface">docs</a>).</li>
<li><code>PipeInterface</code> – Interfaces with any program via <code>stdin</code> and <code>stdout</code> (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#pipe-interface">docs</a>).</li>
<li><code>KISSInterface</code> – Interfaces with <a href="https://en.wikipedia.org/wiki/KISS_(amateur_radio_protocol)" class="extiw external" title="wikipedia:KISS (amateur radio protocol)">KISS</a> protocol-compatible <a href="https://en.wikipedia.org/wiki/Packet_radio" class="extiw external" title="wikipedia:Packet radio">packet radio</a> modems (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#kiss-interface">docs</a>).</li>
<li><code>AX25KISSInterface</code> – Interfaces with <a href="https://en.wikipedia.org/wiki/AX.25" class="extiw external" title="wikipedia:AX.25">AX.25</a> KISS protocol devices for amateur radio communication (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#ax-25-kiss-interface">docs</a>).</li>
<li><code>WeaveInterface</code> – Interfaces with <a href="Weave" title="Weave">Weave</a> devices over serial connections (<a rel="nofollow" class="external text" href="https://github.com/markqvist/Reticulum/blob/master/RNS/Interfaces/WeaveInterface.py">source</a>).</li></ul>
<p>As well as support for <a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#custom-interfaces">custom interfaces</a><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>:
</p>
<ul><li><code><a rel="nofollow" class="external text" href="https://github.com/torlando-tech/ble-reticulum">BLEInterface</a></code> – <a href="https://en.wikipedia.org/wiki/Bluetooth_Low_Energy" class="extiw external" title="wikipedia:Bluetooth Low Energy">BLE</a> interface for Linux systems.</li>
<li><code><a rel="nofollow" class="external text" href="https://github.com/RFnexus/FreeDVInterface">FreeDVInterface</a></code> – Plug and play, cross-platform sound modem interface for <a href="https://en.wikipedia.org/wiki/High_frequency" class="extiw external" title="wikipedia:High frequency">HF</a> radios using the <a rel="nofollow" class="external text" href="https://freedv.org/">FreeDV</a> API.</li>
<li><code><a rel="nofollow" class="external text" href="https://codeberg.org/Firespark/RNS_Over_Meshtastic">Meshtastic_Interface</a></code> – Interface for using <a rel="nofollow" class="external text" href="https://meshtastic.org/">Meshtastic</a> as the underlying networking layer.</li>
<li><code><a rel="nofollow" class="external text" href="https://github.com/RFnexus/modem73interface">Modem73Interface</a></code> – Interface for <a rel="nofollow" class="external text" href="https://github.com/RFnexus/modem73">modem73</a>. Enables any <a href="https://en.wikipedia.org/wiki/High_frequency" class="extiw external" title="wikipedia:High frequency">HF</a>/<a href="https://en.wikipedia.org/wiki/Very_high_frequency" class="extiw external" title="wikipedia:Very high frequency">VHF</a>/<a href="https://en.wikipedia.org/wiki/Ultra_high_frequency" class="extiw external" title="wikipedia:Ultra high frequency">UHF</a> radio to operate with Reticulum.</li>
<li><code><a rel="nofollow" class="external text" href="https://github.com/terminator513/Rns_RNode_TPC-only-Interface">RNodeTCPInterface</a></code> – A modified version of <code>RNodeInterface</code> that supports <a href="https://en.wikipedia.org/wiki/Transmission_Control_Protocol" class="extiw external" title="wikipedia:Transmission Control Protocol">TCP</a> connections only.</li>
<li><code><a rel="nofollow" class="external text" href="https://github.com/Andrew-a-g/reticulum-meshadv-mod">SX126xInterface</a></code> – Drives SX1262 <a href="https://en.wikipedia.org/wiki/LoRa" class="extiw external" title="wikipedia:LoRa">LoRa</a> chips directly over <a href="https://en.wikipedia.org/wiki/Serial_Peripheral_Interface" class="extiw external" title="wikipedia:Serial Peripheral Interface">SPI</a> on Linux <a href="https://en.wikipedia.org/wiki/Single-board_computer" class="extiw external" title="wikipedia:Single-board computer">SBC</a>s. No <a href="RNode" title="RNode">R</a><a href="RNode" title="RNode">Node</a> needed.</li>
<li><a rel="nofollow" class="external text" href="https://github.com/metrafonic/retiqr">retiqr</a> – An alternative reticulum <a href="https://en.wikipedia.org/wiki/QR_code" class="extiw external" title="wikipedia:QR code">QR</a> + <a href="https://en.wikipedia.org/wiki/USB_HID" class="extiw external" title="wikipedia:USB HID">USB HID</a> interface (via <code>TCPClientInterface</code>).</li>
<li><a rel="nofollow" class="external text" href="https://lavaforge.org/Reticulum-Things/RNS-over-HTTP">RNS-over-HTTP</a> – Tunnels traffic over standard <a href="https://en.wikipedia.org/wiki/POST_(HTTP)" class="extiw external" title="wikipedia:POST (HTTP)">HTTP/S POST</a> requests (via <code>PipeInterface</code>).</li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Discovery" title="Discovery">Discovery</a></li>
<li><a href="Interface_Access_Code" title="Interface Access Code">Interface Access Code</a></li>
<li><a href="Rnstatus" title="Rnstatus">rnstatus</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><i>Connect to the Distributed Backbone</i>, Manual. <span class="exclude-nomadnet"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/gettingstartedfast.html#connect-to-the-distributed-backbone">Web</a> / NomadNet: </span><code class="nomadnet address">a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/gettingstartedfast.md|anchor=connect-to-the-distributed-backbone</code></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><i>Finding Your Way</i>, Manual. <span class="exclude-nomadnet"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/gettingstartedfast.html#finding-your-way">Web</a> / NomadNet: </span><code class="nomadnet address">a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/gettingstartedfast.md|anchor=finding-your-way</code></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><i>Bootstrapping Connectivity</i>, Manual. <span class="exclude-nomadnet"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity">Web</a> / NomadNet: </span><code class="nomadnet address">a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/gettingstartedfast.md|anchor=bootstrapping-connectivity</code></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><i>Interface Modes</i>, Manual. <span class="exclude-nomadnet"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#interface-modes">Web</a> / NomadNet: </span><code class="nomadnet address">a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/interfaces.md|anchor=interface-modes</code></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><i>Announce Propagation Rules</i>, Manual. <span class="exclude-nomadnet"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/understanding.html#announce-propagation-rules">Web</a> / NomadNet: </span><code class="nomadnet address">a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/understanding.md|anchor=announce-propagation-rules</code></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><i>Discoverable Interfaces</i>, Manual. <span class="exclude-nomadnet"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#discoverable-interfaces">Web</a> / NomadNet: </span><code class="nomadnet address">a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/interfaces.md|anchor=discoverable-interfaces</code></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a></span> <span class="reference-text"><i>Help Testing: Interface Gravity</i>, rns.recipes Community Forum (2026-07-23). <a rel="nofollow" class="external text" href="https://rns.recipes/forum/general/help-testing-interface-gravity">Web</a> / NomadNet: <code class="nomadnet address">9ce92808be498e9e05590ff27cbfdfe4:/page/forum/thread.mu`cat=general|thread=help-testing-interface-gravity</code></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><i>Interfaces</i>, Manual. <span class="exclude-nomadnet"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/interfaces.html#configuring-interfaces">Web</a> / NomadNet: </span><code class="nomadnet address">a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/interfaces.md|anchor=configuring-interfaces</code></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://rns.moscow/announce-sim.html">Reticulum Announce Propagation Simulator</a></li>
<li><a rel="nofollow" class="external text" href="https://github.com/RFnexus/reticulated">Reticulated</a></li>
<li><a rel="nofollow" class="external text" href="https://reticulum.betweentheborders.com/primer.pdf">Reticulum Primer</a> – Outdated, but still a valuable resource with several example arrangements.</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r3053">
/* start https://reticulum.miraheze.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://reticulum.miraheze.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r3049">
/* start https://reticulum.miraheze.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox{border:1px solid #6a747f}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-subgroup{background-color:#050505}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-list{border-color:#050505}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-abovebelow,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-group,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-image,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-list{border-top:2px solid #050505}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-title{background-color:#00006b}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-abovebelow,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-group,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-title{background-color:#00004d}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-group,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#00003b}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-even{background-color:#141414}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox{border:1px solid #6a747f}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-subgroup{background-color:#050505}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-list{border-color:#050505}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-abovebelow,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-group,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-image,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-list{border-top:2px solid #050505}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-title{background-color:#00006b}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-abovebelow,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-group,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-title{background-color:#00004d}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-group,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#00003b}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-even{background-color:#141414}}
/* end https://reticulum.miraheze.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Reticulum_concepts" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r3051">
/* start https://reticulum.miraheze.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}
/* end https://reticulum.miraheze.org/ */
</style><div id="Reticulum_concepts" style="font-size:114%;margin:0 4em"><a href="Reticulum_Protocol" title="Reticulum Protocol">Reticulum</a> concepts</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Announce" title="Announce">Announce</a></li>
<li><a href="Blackhole" title="Blackhole">Blackhole</a></li>
<li><a href="Buffer" title="Buffer">Buffer</a></li>
<li><a href="Channel" title="Channel">Channel</a></li>
<li><a href="Destination" title="Destination">Destination</a></li>
<li><a href="Discovery" title="Discovery">Discovery</a></li>
<li><a href="Identity" title="Identity">Identity</a></li>
<li><a href="Instance" title="Instance">Instance</a></li>
<li><a class="mw-selflink selflink">Interface</a></li>
<li><a href="Interface_Access_Code" title="Interface Access Code">Interface Access Code</a> (IFAC)</li>
<li><a href="Link" title="Link">Link</a></li>
<li><a href="Network_identity" title="Network identity">Network identity</a></li>
<li><a href="Node" title="Node">Node</a></li>
<li><a href="Packet" title="Packet">Packet</a></li>
<li><a href="Path" title="Path">Path</a></li>
<li><a href="Propagation_node" title="Propagation node">Propagation node</a></li>
<li><a href="Resource" title="Resource">Resource</a></li>
<li><a href="Stamp" title="Stamp">Stamp</a></li>
<li><a href="Transport_node" title="Transport node">Transport node</a></li></ul>
</div></td></tr></tbody></table></div></div><div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks">Category: <ul><li><a href="Category%3AConcepts" title="Category:Concepts">Concepts</a></li></ul></div></div><!--htdig_noindex--><div><div class="zim-footer">
This page is issued from <a class="external text" title="Last edited on 2026-08-24" href="https://reticulum.miraheze.org/wiki/?title=Interface&oldid=3395">Reticulum Community Wiki</a>. The text is available under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</div>
</body></html>